<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 *
 */

class Admin extends CI_Controller {

	private $limit = 8;

	public function __construct() {
		parent::__construct();
		$this->load->library(array('session'));
		$this->load->library(array('table','form_validation','pagination'));
		$this->load->helper(array('url','form'));
		$this->load->model('Sede_model','',TRUE);
		$this->load->model('Usuarios_model','',TRUE);
	}

	function index($offset = 0)
	{
		
		
		if($this->session->userdata('perfil') == FALSE )
		{
			redirect(base_url().'login');
		}		
		
		
		/* Administrador General; ROL = 1 (admin) */
		if ($this->session->userdata('perfil') == 'admin'){
		
			// load data
			$sedes = $this->Sede_model->get_paged_list($this->limit, $offset)->result();
			$num_rows = $this->Sede_model->count_all();
	
			$data['pagination'] = $this->pagination->create_links();
			$this->paginacion($num_rows);
	
			$header = array('No', 'Nombre', 'Direccion', 'Latitud', 'Longitud','Imagen','Descripcion', 'Opciones'); // create table header
			$tmpl = array ( 'table_open'  => '<table class="table table-bordered table-striped table-condensed">' );
	
			$this->table->set_heading($header);// apply a heading with a header that was created
			$this->table->set_template($tmpl);
				
			// generate table data
	
			//$this->table->set_empty("&nbsp;");
	
			foreach ($sedes as $sede)
			{
				$this->table->add_row($sede->id, $sede->nombre, $sede->direccion, $sede->latitud,
				$sede->longitud, $sede->imagen, $sede->descripcion,
				anchor('admin/view/'.$sede->id,'&nbsp;<span class="glyphicon glyphicon-search"></span>',array('class'=>'view')).' '.
				anchor('admin/update/'.$sede->id,'<span class="glyphicon glyphicon-pencil"></span>',array('class'=>'update')).' '.
				anchor('admin/delete/'.$sede->id,'<span class="glyphicon glyphicon-remove"></span>',array('class'=>'delete','onclick'=>"return confirm('Realmente desea eliminar esta sede?')"))
				);
			}
			
			$this->load->view('header', $data);
			$this->load->view('admin/index', $data);
			$this->load->view('footer');
			//$data['table'] = $this->table->generate();
			//$data['linkPerfil']=base_url()."admin/setPerfil/".$this->session->userdata('id_usuario')."/0";			
			
		}		

		/* Administrador de Sede; ROL = 2 (operador) */
		if($this->session->userdata('perfil') == 'operador'){
			//$this->load->view('header', $data);
			$this->setPerfil($this->session->userdata('id_usuario'),0);
			//$this->load->view('footer');
		}	

		
		/* Administrador de Sede; ROL = 3 (administradorSede) */
		if($this->session->userdata('perfil') == 'administradorSede'){
		
			// load data		
			//$usuarios = $this->Usuarios_model->list_operadores()->result();

			$usuarios = $this->Usuarios_model->get_paged_list($this->limit, $offset)->result();
			$num_rows = $this->Usuarios_model->count_all_rol2();
				
			$data['pagination'] = $this->pagination->create_links();
			$this->paginacion($num_rows);			
			
			$header = array('Fila', 'Id', 'Nombre', 'Apellido', 'Documento', 'Fecha de nacimiento', 'Direccion', 'E-mail', 'Nombre de usuario', 'Enable', 'Rol Id', 'Opciones'); // create table header
			$tmpl = array ( 'table_open'  => '<table class="table table-bordered table-striped table-condensed">' );
				
			$this->table->set_heading($header);// apply a heading with a header that was created
			$this->table->set_template($tmpl);
							
			$i = 0;
			foreach ($usuarios as $user)
			{
				$this->table->add_row(++$i, $user->id, $user->nombre, $user->apellido,
						$user->documento, $user->fec_nac, $user->direccion, $user->email,
						$user->username, $user->enable, $user->id_role,
						anchor('admin/viewOperador/'.$user->id,'&nbsp;<span class="glyphicon glyphicon-search"></span>',array('class'=>'view')).' '.
						anchor('admin/updateOperador/'.$user->id,'<span class="glyphicon glyphicon-pencil"></span>',array('class'=>'update')).' '.
						anchor('admin/deleteOperador/'.$user->id,'<span class="glyphicon glyphicon-remove"></span>',array('class'=>'delete','onclick'=>"return confirm('Realmente desea eliminar esta sede?')"))
						);
			}
			$this->load->view('header', $data);
			//$this->load->view('admin/index', $data);
			$this->load->view($this->session->userdata('perfil').'/index',$data);
			$this->load->view('footer');			 
			
		}
	}

	function paginacion($num_rows = 0){
		// offset
		$uri_segment = 3;
		$offset = $this->uri->segment($uri_segment);

		// generate pagination
		$this->load->library('pagination');

		$config['base_url'] = site_url('admin/index/');
		$config['total_rows'] = $num_rows;
		$config['per_page'] = $this->limit;
		$config['uri_segment'] = $uri_segment;


		// Config setup
		$config['last_link'] = 'Fin';
		$config['first_link'] = 'Principio';
		$config['full_tag_open'] = '<ul class="pagination">';
		$config['full_tag_close'] = '</ul>';
		$config['prev_link'] = '&laquo;';
		$config['prev_tag_open'] = '<li>';
		$config['prev_tag_close'] = '</li>';
		$config['next_tag_open'] = '<li>';
		$config['next_tag_close'] = '</li>';
		$config['cur_tag_open'] = '<li class="active"><a href="#">';
		$config['cur_tag_close'] = '</a></li>';
		$config['num_tag_open'] = '<li>';
		$config['num_tag_close'] = '</li>';

		$config['next_link'] = '&raquo;';

		$this->pagination->initialize($config);
	}

	function add()
	{
		if($this->session->userdata('perfil') == FALSE || $this->session->userdata('perfil') != 'admin')
		{
			redirect(base_url().'login');
		}
		$this->_set_fields();

		$data['title'] = 'Agregar nueva sede';
		$data['message'] = '';
		$data['action'] = site_url('admin/addSede');
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));

		$this->load->view('header', $data);
		$this->load->view('admin/sedeAdd', $data);
		$this->load->view('footer');

	}

	function addSede()
	{
		$data['title'] = 'Agregar nueva sede';
		$data['action'] = site_url('admin/addSede');
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));


		$this->_set_fields();

		$sede = array('nombre' => $this->input->post('nombre'),
					'direccion' => $this->input->post('direccion'),
					'latitud' => $this->input->post('latitud'),
					'longitud' => $this->input->post('longitud'),
					'imagen' => $this->input->post('imagen'),
					'descripcion' => $this->input->post('descripcion'));
		$id = $this->Sede_model->save($sede);
			
		$data['message'] = '<div class="alert alert-success">La sede fue dada de alta exitosamente</div>';

		$this->load->view('header', $data);
		$this->load->view('admin/sedeAdd', $data);
		$this->load->view('footer');

	}

	function update($id)
	{
		if($this->session->userdata('perfil') == FALSE || $this->session->userdata('perfil') != 'admin')
		{
			redirect(base_url().'login');
		}
		$this->_set_fields();

		// prefil form values
		$sede = $this->Sede_model->get_by_id($id)->row();

		$this->_set_form($sede);

		// set common properties
		$data['title'] = 'Editar sede';
		$data['message'] = '';
		$data['action'] = site_url('admin/updateSede');
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));

		// load view
		$this->load->view('admin/sedeEdit', $data);
	}


	function updateSede()
	{
		if($this->session->userdata('perfil') == FALSE || $this->session->userdata('perfil') != 'admin')
		{
			redirect(base_url().'login');
		}
		// set common properties
		$data['title'] = 'Editar sede';
		$data['action'] = site_url('admin/updateSede');
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));

		// set empty default form field values
		$this->_set_fields();

		// run validation
		//if ($this->form_validation->run() == FALSE)
		/*
		 Como todavía no se le dijo a la Clase Form_validation que valide algo todavía, devuelve FALSE (booleano) por defecto.
		 La función run() solamente devuelve TRUE si se aplicaron satisfactoriamente las reglas sin que ninguna fallara.
		 */
		//{
		//	$data['message'] = '';
		//}
		//else
		//{
		// save data
		$id = $this->input->post('id');
		$sede = array('nombre' => $this->input->post('nombre'),
			'direccion' => $this->input->post('direccion')
		, 'latitud' => $this->input->post('latitud')
		, 'longitud' => $this->input->post('longitud')
		, 'imagen' => $this->input->post('imagen')
		, 'descripcion' => $this->input->post('descripcion'));


		$this->Sede_model->update($id,$sede);
			
		//$this->_set_form($sede);

		$data['message'] = '<div class="success">Sede editada con exito</div>';
		//}

		// load view
		//		$this->load->view('admin', $data);
		redirect(base_url().'admin');
	}

	function view($id)
	{

		if($this->session->userdata('perfil') == FALSE || $this->session->userdata('perfil') != 'admin')
		{
			redirect(base_url().'login');
		}

		$data['title'] = 'Detalle de Sede';
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));

		$data['sede'] = $this->Sede_model->get_by_id($id)->row();

		// load view
		$this->load->view('header', $data);
		$this->load->view('admin/sedeView', $data);
		$this->load->view('footer');

	}

	function delete($id)
	{
		if($this->session->userdata('perfil') == FALSE || $this->session->userdata('perfil') != 'admin')
		{
			redirect(base_url().'login');
		}
		// delete sede
		$this->Sede_model->delete($id);

		// redirect to sede list page
		redirect('admin/index/','refresh');
	}

	// set empty default form field values
	function _set_fields()
	{
		$this->form_data = new stdClass;
		$this->form_data->id = '';
		$this->form_data->nombre = '';
		$this->form_data->direccion = '';
		$this->form_data->latitud = '';
		$this->form_data->longitud = '';
		$this->form_data->imagen = '';
		$this->form_data->descripcion = '';
	}

	function _set_form($sede)
	{
		$this->form_data->id = $sede->id;
		$this->form_data->nombre = $sede->nombre;
		$this->form_data->direccion = $sede->direccion;
		$this->form_data->latitud = $sede->latitud;
		$this->form_data->longitud = $sede->longitud;
		$this->form_data->imagen = $sede->imagen;
		$this->form_data->descripcion = $sede->descripcion;

	}

	function cuenta(){
		//		$data['title'] = 'Detalle de Sede';
		$data['title'] = 'Administrar perfil';
		$data['link_back'] = anchor('admin/index/','Lista de sedes',array('class'=>'back'));

		//$data['sede'] = $this->Sede_model->get_by_id($id)->row();

		// load view
		$this->load->view('perfil', $data);
	}

	function listarUsuarios($offset = 0) {

		// load data
		$usuarios = $this->Usuarios_model->get_paged_list($this->limit, $offset)->result();
		$num_rows = $this->Usuarios_model->count_all();

		$data['pagination'] = $this->pagination->create_links();
		$this->paginacion($num_rows);

		$header = array('Id', 'Nombre', 'Apellido', 'Documento', 'Fecha de nacimiento', 'Direccion', 'E-mail', 'Usuario', 'Enable', 'Rol', 'Opciones'); // create table header
		$tmpl = array ( 'table_open'  => '<table class="table table-bordered table-striped table-condensed">' );

		$this->table->set_template($tmpl);
		$this->table->set_heading($header);// apply a heading with a header that was created

		// generate table data

		$this->table->set_empty("&nbsp;");

		foreach ($usuarios as $user)
		{
			$this->table->add_row($user->id, $user->nombre, $user->apellido,
			$user->documento, $user->fec_nac, $user->direccion, $user->email,
			$user->username, $user->enable, $user->id_role,
			anchor('admin/viewUser/'.$user->id,'view',array('class'=>'view')).' '.
			anchor('admin/updateUser_page/'.$user->id,'update',array('class'=>'update')).' '.
			anchor('admin/deleteUser/'.$user->id,'delete',array('class'=>'delete','onclick'=>"return confirm('Realmente desea eliminar este usuario?')"))
			);
		}

		$session_data = $this->session->userdata('logged_in');
		$data['username'] = $session_data['username'];

		$this->load->view('header', $data);
		$this->load->view('usuariosList', $data);
		$this->load->view('footer');

	}

	function viewUser($id)
	{
		$data['title'] = 'Detalle del usuario';
		$data['link_back'] = anchor('admin/listarUsuarios','Lista de usuarios',array('class'=>'back'));

		$data['usuario'] = $this->Usuarios_model->get_by_id($id)->row();

		// load view
		$this->load->view('usuarioView', $data);
	}

	function viewOperador($id)
	{
		$data['title'] = 'Detalle del Operador de Sede';
		$data['link_back'] = anchor('admin/index/','Lista de Operadores de Sedes',array('class'=>'back'));
	
		$data['usuario'] = $this->Usuarios_model->get_by_id($id)->row();
	
		// load view
		$this->load->view('administradorSede/operadorDeSedeView', $data);
	}	

	function addUser()
	{
		$this->_set_fields();

		$data['title'] = 'Agregar nuevo usuario';
		$data['message'] = '';
		$data['action'] = site_url('admin/addUserNew');
		$data['link_back'] = anchor('admin/listarUsuarios','Lista de usuarios',array('class'=>'back'));

		$this->load->view('usuarioAdd', $data);
	}

	function addUserNew()
	{
		$data['title'] = 'Agregar nuevo usuario';
		$data['action'] = site_url('admin/addUserNew');
		$data['link_back'] = anchor('admin/listarUsuarios','Lista de usuarios',array('class'=>'back'));

		$this->_set_fields();
		$passwEncr = sha1($this->input->post('password'));		

		$chkEnable = "0";
		if (isset($_POST['enable'])) {
			$chkEnable = "1";
		}
		
		$usuario = array(
		//		atribTabla			ValorFormulario
				'nombre' 			=> $this->input->post('nombre'),
				'apellido' 			=> $this->input->post('apellido'),
				'documento' 		=> $this->input->post('documento'),
				'fec_nac' 			=> $this->input->post('fec_nac'),
				'direccion' 		=> $this->input->post('direccion'),
				'email' 			=> $this->input->post('email'),
				//'password' 			=> $this->input->post('password'),
				'password' 			=> $passwEncr,				
				'username' 			=> $this->input->post('nombre_usuario'),
				'enable'		 	=> $chkEnable,	
				'id_role'		 	=> $this->input->post('id_role'),
		);
		$id = $this->Usuarios_model->save($usuario);
			
		$data['message'] = '<div class="success">El usuario fue dado de alta exitosamente</div>';

		$this->load->view('usuarioAdd', $data);
	}

	function deleteUser($id)
	{
		// delete usuario
		$this->Usuarios_model->delete($id);

		// redirect to usuarios list page
		redirect('admin/listarUsuarios','refresh');
	}
	
	function deleteOperador($id)
	{
		// delete usuario
		$this->Usuarios_model->delete($id);
		// redirect to usuarios list page
		redirect('admin/index/','refresh');
	}	

	function updateUser()
	{

		$data['title'] = 'Editar sede';
		$data['action'] = site_url('admin/updateUser');
		$data['link_back'] = anchor('admin/listarUsuarios/','Lista de usuarios',array('class'=>'back'));

		$this->vaciarCampos;

		$id = $this->input->post('id_h');
		
		$chkEnable = "0";
		if (isset($_POST['enable'])) {
			$chkEnable = "1";
			$this->form_data->enable = $chkEnable;
		}
				
		$usuario = array(
		//			atributo_BD => nombre_campo_form
			'nombre' => $this->input->post('nombre'),
			'apellido' => $this->input->post('apellido'),
			'documento' => $this->input->post('documento'),
			'fec_nac' => $this->input->post('fec_nac'),
			'direccion' => $this->input->post('domicilio'),
			'email' => $this->input->post('email'),
			'password' => $this->input->post('password'),
			//'enable' => $this->input->post('enable'),
			'enable' => $chkEnable,
			'id_role' => $this->input->post('rol'),
		);

		$this->Usuarios_model->update($id,$usuario);

		$data['message'] = '<div class="success">Usuario editado con exito</div>';
		redirect(base_url().'admin/listarUsuarios');
	}

	function vaciarCampos(){
		$this->form_data = new stdClass;
		$this->form_data->id = '';
		$this->form_data->nombre = '';
		$this->form_data->apellido = '';
		$this->form_data->documento = '';
		$this->form_data->fec_nac = '';
		$this->form_data->direccion = '';
		$this->form_data->email = '';
		$this->form_data->password = '';
		$this->form_data->enable = '';
		$this->form_data->nombre_usuario = '';
		$this->form_data->id_role = '';
	}

	function updateUser_page($id)
	{
		//$this->_set_fields();

		// prefill form values
		$usuario = $this->Usuarios_model->get_by_id($id)->row();

		//$this->_set_form($usuario);
		$this->form_data = new stdClass;
		$this->form_data->id = $usuario->id;
		$this->form_data->nombre = $usuario->nombre;
		$this->form_data->apellido = $usuario->apellido;
		$this->form_data->documento = $usuario->documento;
		$this->form_data->fec_nac = $usuario->fec_nac;
		$this->form_data->direccion = $usuario->direccion;
		$this->form_data->email = $usuario->email;
		$this->form_data->password = $usuario->password;
		$this->form_data->enable = $usuario->enable;
		$this->form_data->nombre_usuario = $usuario->username;
		$this->form_data->id_role = $usuario->id_role;


		// set common properties
		$data['title'] = 'Editar usuario';
		$data['message'] = '';
		$data['action'] = site_url('admin/updateUser/'.$id);
		$data['link_back'] = anchor('admin/listarUsuarios/','Lista de usuarios',array('class'=>'back'));

		// load view
		$this->load->view('usuarioEdit', $data);
	}

	/*
	 function updateUsuario()
	 {
		// set common properties
		$data['title'] = 'Editar usuario';
		$data['action'] = site_url('usuario_crud/updateUsuario');
		$data['link_back'] = anchor('usuario_crud/index/','Lista de usuarios',array('class'=>'back'));

		// set empty default form field values
		$this->_set_fields();

		// run validation
		if ($this->form_validation->run() == FALSE)
		{
		$data['message'] = '';
		}
		else
		{
		// save data
		$id = $this->input->post('id');
		$nombre = $this->input->post('nombre');
		$usuario = array('nombre' => $this->input->post('nombre'), 'direccion' => $this->input->post('direccion'));

		$usuario = $this->Usuarios_model->update($id,$usuario);
			
		$this->_set_form($usuario);

		$data['message'] = '<div class="success">Usuario editado con exito</div>';
		}*/

	function mi_perfil(){

		$id=$this->$session->userdata('id_usuario');

		$this->_set_fields();

		// prefill form values
		$usuario = $this->Usuarios_model->get_by_id($id)->row();

		$this->_set_form($usuario);

		// set common properties
		$data['title'] = 'Administrar perfil';
		$data['action'] = site_url('usuario_crud/updateUsuario');

		// load view
		$this->load->view('admingral_perfil', $data);
	}

	function setPerfil($perfilId=0, $leerDatos=0){
                $sesionId = $this->session->userdata('id_usuario');
                $sesionUser = $this->Usuarios_model->get_by_id($perfilId)->row();
                /* 
                 * BA - 20131119 - PIU rev final
                 * gustavo hay que arreglar esto estas asignando un arreglo 
                 * luego haces un if 
                 * if ($sesionRol != $usuario->id_role & $sesionRol==1)
                 * esto revienta, comparas un arreglo con un valor...
                 * recorda que tenes el role si haces esto 
                 * $this->session->userdata('perfil')
                 * estamos trabajando mira el login_model
                 * De todas maneras el update del perfil funciona, una alternativa Incorrecta es 
                 * ocultar los errores si es que no lo podes resolver.
                 * yo continuo con otras cosas
                 * */
                $sesionRol = $sesionUser;
                $perfilId=$sesionId;    #! solo para editar su propio perfil
                $usuario = $this->Usuarios_model->get_by_id($perfilId)->row();
                // set common properties
                $data['title'] = 'Administrar perfil';
                $data['action'] = site_url("admin/setPerfil/$perfilId/1");
                $data['link_back'] = anchor('admin/index/','Lista',array('class'=>'back'));
                $data['message'] = '';
               
                if ($leerDatos==1) {
                               
                        $aux1 = $this->input->post('fecNacAnio');
                        $aux2 = $this->input->post('fecNacMes');
                        $aux3 = $this->input->post('fecNacDia');
                        if ($aux1 and $aux2 and $aux3 !=false){
                                $fecha = $aux1.'-'.$aux2.'-'.$aux3;
                                $usuario->fec_nac       = $fecha;
                        }
                               
                        $usuario->nombre        = $this->input->post('nombre');
                        $usuario->apellido      = $this->input->post('apellido');
                        $usuario->documento     = $this->input->post('documento');
                        $usuario->direccion     = $this->input->post('domicilio');
                        $usuario->email         = $this->input->post('email');
                       
                        $aux1 = $this->input->post('sede');
                        if ($sesionRol != $usuario->id_role & $sesionRol==1)
                                if ($aux1!=false){      // si fue modificado
                                        if ($aux1=="sede1")
                                                $usuario->id_sede = 1;
                                        else if ($aux1=="sede2")
                                                $usuario->id_sede = 2;
                                        else if ($aux1=="sede3")
                                                $usuario->id_sede = 3;
                                        else if ($aux1=="sede4")
                                                $usuario->id_sede = 4;
                                }
                       
                        $aux1 = $this->input->post('tipo_rol');
                        if ($sesionRol != $usuario->id_role & $sesionRol==1)
                                if ($aux1!=false){      // si el rol fue modificado
                                        if ($aux1=="rol1")
                                                $usuario->id_role = 2;  // operador
                                        else if ($aux1=="rol2")
                                                $usuario->id_role = 3;  // admin de sede
                                        else if ($aux1=="rol3")
                                                $usuario->id_role = 1;  // admin gral
                        }
                        // !# no corresponde en la admin de su propio perfil
                        $aux1 = $this->input->post('enable');
                        if ($sesionRol == 1 or $sesionRol == 3){
                        // si es un admin gral o un admin de sede entonces setear "enable"
                                if ($aux1!=false)
                                $usuario->enable = 1;
                                else $usuario->enable = 0;
                        }
                        // !# no corresponde en la admin de su propio perfil
               
                                $this->Usuarios_model->update($perfilId,$usuario);
                                $usuario = $this->Usuarios_model->get_by_id($perfilId)->row();
                                $data['message'] = 'Sus datos se han actualizado exitosamente';
               
                }
               
                // rellenar campos del formulario
                $data['perfil_id'] = $usuario->id ;
                $data['perfil_username'] = $usuario->username ;
                $data['perfil_nombre'] = $usuario->nombre ;
                $data['perfil_apellido'] = $usuario->apellido ;
                $data['perfil_doc'] = $usuario->documento ;
                $data['perfil_fecDia'] = substr($usuario->fec_nac,8,2) ;
                $data['perfil_fecMes'] = substr($usuario->fec_nac,5,2) ;
                $data['perfil_fecAnio'] = substr($usuario->fec_nac,0,4) ;
                $data['perfil_domic'] = $usuario->direccion ;
                $data['perfil_email'] = $usuario->email ;
               
                $data['sedeSel'] = "0" ;        // #! tomar dato de la BD
                $data['mostrarSede'] = true; //= ($usuario->id_role == 1) ;
               
                if ($usuario->id_role==1) $data['rolSel'] = 3 ;
                else if ($usuario->id_role==2) $data['rolSel'] = 1 ;
                else if ($usuario->id_role==3) $data['rolSel'] = 2 ;
                $data['mostrarRol'] = ($usuario->id_role == 1) ;
                if ($sesionId == $perfilId or $sesionRol!=1)
                        $data['desactivarRol'] = "disabled";
                else $data['desactivarRol'] = "";
               
                if ($usuario->enable=='1')
                        $data['perfil_isEnabled'] = "checked" ;
                else $data['perfil_isEnabled'] = "" ;
                $data['mostrarEnabled'] = ($sesionRol == 1 or $sesionRol == 3) ;
                        // 1 = rol de Admin Gral
                        // 3 = rol de Admin Sede

                // load view
                $this->load->view('mostrarPerfil', $data);
               
        }

	function about(){
		$this->load->view('header');
		$this->load->view('about');
		$this->load->view('footer');
	}
	
	/* -> PIU - 20131116 - BA - Administrador de Sede */
	/* metodo para agregar un operador de SEDE */
	function addOper()
	{
		$this->_set_fields();
	
		$data['title'] = 'Agregar nuevo Operador de Sede';
		$data['message'] = '';
		$data['action'] = site_url('admin/addOperador');
		$data['link_back'] = anchor('admin/index/','Lista de Operadores de Sedes',array('class'=>'back'));
	
		$this->load->view('administradorSede/operadorDeSedeAdd', $data);
	}
	
	function addOperador()
	{
		$data['title'] = 'Agregar nuevo Operador de Sede';
		$data['action'] = site_url('admin/addOperador');
		$data['link_back'] = anchor('admin/index/','Lista de Operadores de Sedes',array('class'=>'back'));
	
		$this->_set_fields();
		
		$chkEnable = "0";
		if (isset($_POST['enable'])) {
			$chkEnable = "1";
		}
	
	
		$usuario = array(
				//		atribTabla			ValorFormulario
				'nombre' 			=> $this->input->post('nombre'),
				'apellido' 			=> $this->input->post('apellido'),
				'documento' 		=> $this->input->post('documento'),
				'fec_nac' 			=> $this->input->post('fec_nac'),
				'direccion' 		=> $this->input->post('direccion'),
				'email' 			=> $this->input->post('email'),
				'password' 			=> $this->input->post('password'),
				'username'		 	=> $this->input->post('username'),
				'enable'		 	=> $chkEnable,
				'id_role'		 	=> '2', /* hardcodeo el role del operador de las sedes */
		);
		$id = $this->Usuarios_model->save($usuario);
			
		$data['message'] = '<div class="success">El usuario fue dado de alta exitosamente</div>';
	
		$this->load->view('administradorSede/operadorDeSedeAdd', $data);
	}	
	
	/* metodo para actualizar un operador de SEDE */	
	function updateOperador($id)
	{
		$this->_set_fieldsOperador();
	
		// prefill form values
		$usuario = $this->Usuarios_model->get_by_id($id)->row();
	
		$this->_set_formOperador($usuario);
	
		// set common properties
		$data['title'] = 'Editar operador de SEDE';
		$data['message'] = '';
		$data['action'] = site_url('admin/updateDelOperador');
		$data['link_back'] = anchor('admin/index/','Lista de Operadores de Sedes',array('class'=>'back'));
	
		// load view
		$this->load->view('administradorSede/operadorDeSedeEdit', $data);
	}
	
	function updateDelOperador()
	{
		// set common properties
		$data['title'] = 'Editar Operador de SEDE - updateUsuario()';
		$data['action'] = site_url('admin/updateDelOperador');
		$data['link_back'] = anchor('admin/index/','Lista de Operadores de Sedes',array('class'=>'back'));
	
		// set empty default form field values
		$this->_set_fieldsOperador();
	
		$chkEnable = "0";
		if (isset($_POST['enable'])) {
			$chkEnable = "1";
		}
			
		$id = $this->input->post('id');
		$usuario = array('nombre' => $this->input->post('nombre'),
				'apellido' => $this->input->post('apellido')
				, 'documento' => $this->input->post('documento')
				, 'fec_nac' => $this->input->post('fec_nac')
				, 'direccion' => $this->input->post('direccion')
				, 'email' => $this->input->post('email')
				, 'password' => $this->input->post('password')
				, 'enable' => $chkEnable
				, 'id_role' => $this->input->post('id_role')
		);
	
		$this->Usuarios_model->update($id,$usuario);
	
		$data['message'] = '<div class="success">Operador de Sede editado con &eacute;xito</div>';
	
		redirect('admin/index/','refresh');
	}
	
	// set empty default form field values
	function _set_fieldsOperador()
	{
		$this->form_data = new stdClass;
		$this->form_data->id = '';
		$this->form_data->nombre = '';
		$this->form_data->apellido = '';
		$this->form_data->documento = '';
		$this->form_data->fec_nac = '';
		$this->form_data->direccion = '';
		$this->form_data->email = '';
		$this->form_data->password = '';
		$this->form_data->enable = '';
		$this->form_data->username = '';
		$this->form_data->id_role = '';
	}
	
	function _set_formOperador($usuario)
	{
	
		$this->form_data->id = $usuario->id;
		$this->form_data->nombre = $usuario->nombre;
		$this->form_data->apellido = $usuario->apellido;
		$this->form_data->documento = $usuario->documento;
		$this->form_data->fec_nac = $usuario->fec_nac;
		$this->form_data->direccion = $usuario->direccion;
		$this->form_data->email = $usuario->email;
		$this->form_data->password = $usuario->password;
		$this->form_data->enable = $usuario->enable;
		$this->form_data->username = $usuario->username;
		$this->form_data->id_role = $usuario->id_role;
	
	}
	
	/* <- PIU - 20131116 - BA - Administrador de Sede */	
}

